---
title: 将你的 Astro 站点部署到 Kinsta 应用托管
description: 如何将你的 Astro 网站通过 Kinsta 应用托管部署上线。
sidebar:
  label: Kinsta
type: deploy
logo: kinsta
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';

你可以使用 [Kinsta 应用托管](https://kinsta.com/application-hosting/) 来在其云托管服务器上托管 Astro 网站。

## 配置你的 Astro 项目

### 静态托管

:::tip[需要示例吗？]
请参考 [用于 Astro 应用托管的 Kinsta 官方示例项目](https://github.com/kinsta/hello-world-astro)！
:::

要在 **Kinsta 应用托管** 上托管你的项目，你需要：
-  在 `package.json` 文件中包含一个 `name` 字段（这个可以是任意值，不会影响部署）。
-  在 `package.json` 文件中包含一个 `build` 脚本（你的 Astro 项目应该已经包括这个）。
-  安装 [`serve`](https://www.npmjs.com/package/serve) 包，并将 `start` 脚本设置为 `serve dist/`。

以下是 `package.json` 文件中必要的内容：

```json title="package.json" {2,5,6} ins={12} "serv dist/"
{
  "name": "anything", // 这是必需的，但值是什么不重要。
  "scripts": {
    "dev": "astro dev",
    "start": "serve dist/",
    "build": "astro build",
    "preview": "astro preview",
    "astro": "astro"
  },
  "dependencies": {
    "astro": "^2.2.0",
    "serve": "^14.0.1"
  },
}
```

### SSR

:::tip[需要示例吗？]
请参考 [用于 Astro SSR 应用托管 Kinsta 官方示例项目](https://github.com/kinsta/hello-world-astro-ssr)！
:::

要在 **Kinsta 应用托管** 上托管你的项目，你需要：
-  在 `package.json` 文件中包含一个 `name` 字段（这个可以是任意值，不会影响部署）。
-  在 `package.json` 文件中包含一个 `build` 脚本（你的 Astro 项目应该已经包括这个）。
-  安装 [`@astrojs/node`](https://www.npmjs.com/package/@astrojs/node) 包，并将 `start` 脚本设置为 `node ./dist/server/entry.mjs`。
-  设置 `astro.config.mjs` 使用 `@astrojs/node` 并设置 `host: true`。

以下是 `package.json` 文件中必要的内容：

```json title="package.json" {2,5,6} ins={12} "node ./dist/server/entry.mjs"
{
  "name": "anything", // 这是必需的，但值是什么不重要。
  "scripts": {
    "dev": "astro dev",
    "start": "node ./dist/server/entry.mjs",
    "build": "astro build",
    "preview": "astro preview",
    "astro": "astro"
  },
  "dependencies": {
    "astro": "^2.2.0",
    "@astrojs/node": "^5.1.1"
  },
}
```

以下是 `astro.config.mjs` 文件中必要的内容：

```js title="astro.config.mjs"
  import { defineConfig } from 'astro/config';
  import node from "@astrojs/node";

  export default defineConfig({
    output: 'server',
    adapter: node({
      mode: "standalone"
    }),
    server: {
      host: true
    }
  });
```

## 如何部署

一旦与你项目的 GitHub 仓库连接成功，你就可以在 **MyKinsta 管理面板** 上手动触发向 Kinsta 应用托管的部署，当然你也可以在管理面板上设置自动部署。

### 配置一个新的 Kinsta 应用程序

<Steps>
1. 进入 [My Kinsta](https://my.kinsta.com/) 管理面板。

2. 转到 **Applications** 选项卡。

3. 连接你的 GitHub 仓库。

4. 点击 **Add service** > **Application** 按钮。

5. 按照引导步骤操作。

6. 最后你的应用程序将被部署。
</Steps>
